package com;

import java.io.FileOutputStream;

/**
 * FileOutputStream 字节输出流,会自动创建文件,但是不会自动创建目录
 * 
 * write
 * 
 * flush 刷缓存
 * 
 * 1.打开流
 * 
 * 2.设置是覆盖还是追加
 * 
 * 3.写出
 * 
 * 4. 刷缓存
 * 
 * flush():刷缓存,因为我们通过 write 写出数据的时候,只是吧数据保存到了缓冲区,并不会直接把数据写出,这样做是为了提高效率
 * 如果我们每一个自己都写出一次的话,效率就比较慢,所以吧写出的数据先保存到这个缓冲区 当我们调用 flush () 方法的时候才会真正去写出数据 如果不调用
 * flush () 方法,就不会写出,但是在关闭流的时候,close ()的时候,会自动调用 flush() 方法
 * 
 * 5. 关闭
 * 
 * @author lenovo
 *
 */
public class IO_08_FileOutputStream_01 {

	public static void main(String[] args) {
//		try (FileOutputStream fos = new FileOutputStream("./src/com/test_01.txt"){
		// true 是追加 false 是覆盖,不写默认也是覆盖
		// 如果是覆盖的话,new FileOutputStream 对象之后,就会把指定文件内容清空
		try (FileOutputStream fos = new FileOutputStream("./src/com/test_01.txt", false);) {
			int i = 97;
			for (int j = 0; j < 26; j++) {
				fos.write(i + j);
			}
			byte[] bytes = { 48, 49, 50, 51, 52 };
			fos.write(bytes);
			fos.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}
